#include "jogo.h"

void raquete_(char* base, int largura, int altura, int posx, int posy){
	int a, b;
	for (a=0+posx;a<largura+posx;a++)
		for (b=posy-50;b<(posy-50)+altura;b++)
		set_pixel(a,b,7,base);
}

Raquete * criaRaquete(int tipo, int altura, int largura, char *base){
	Raquete * raquete;
	
	raquete = (Raquete*) malloc (sizeof(Raquete));
	
	if(tipo=='e')
		raquete->posx=15;
	if(tipo=='d')
		raquete->posx=610;
		
	
	raquete->altura=altura;
	raquete->largura=largura;
	raquete->posy=240+raquete->altura/2;
	
	DesenhaRaquete(base,raquete);
	return raquete;
}

void DesenhaRaquete(char* base, Raquete *rqt){
	int a, b;
	for (a=0+rqt->posx;a<rqt->largura+rqt->posx;a++)
		for (b=rqt->posy-rqt->altura/2;b<(rqt->posy-rqt->altura/2)+rqt->altura;b++)
		set_pixel(a,b,7,base);
}


void ApagaRaquete(char* base, Raquete *rqt){
	int a, b;
	for (a=0+rqt->posx;a<rqt->largura+rqt->posx;a++)
		for (b=rqt->posy-rqt->altura/2;b<(rqt->posy-rqt->altura/2)+rqt->altura;b++)
		set_pixel(a,b,0,base);
}

int moverRaquete(char *base,Raquete *rqt, int direcao){
	
		int v =((rqt->posy)+50+direcao-(rqt->altura))+5;
		//printf("%d", v);
		if(v < 121 || v > 405){
			ApagaRaquete(base,rqt);
			rqt->posy=rqt->posy;
			DesenhaRaquete(base,rqt);
		}else{
			ApagaRaquete(base,rqt);
			rqt->posy=(rqt->posy)+direcao;
			DesenhaRaquete(base,rqt);
		}
		
		
	return 0;
}

void desenha_mesa(char *base){
//mesa de jogo
	
	draw_line(1, 100, 1, 479, 2, base); //left
	draw_line(639, 100, 639, 479, 2, base); //right
	draw_line(1, 100, 639, 100, 2, base); //top
	draw_line(1, 479, 639, 479, 2, base); //bottom
	
	draw_line(5, 105, 5, 474, 2, base); //left
	draw_line(634, 105, 634, 474, 2, base); //right
	draw_line(5, 105, 634, 105, 2, base); //top
	draw_line(5, 474, 634, 474, 2, base); //bottom
	
	draw_line(639/2, 105, 639/2, 474, 2, base);
}

void resetRaquetes(Raquete *rqt1, Raquete *rqt2 , char* base){
	
	ApagaRaquete(base,rqt1);
	rqt1->posy=280;
	DesenhaRaquete(base,rqt1);
	ApagaRaquete(base,rqt2);
	rqt2->posy=280;
	DesenhaRaquete(base,rqt2);
}


